<?php

//Primero se busca el concepto integral de esto de pende que se impriman o no varios conceptos
/// CONCEPTO INTEGRAL
//primero se halla el concepto de los citerios de vrificacion
App::Import('model', 'Owner');
$propietario = new Owner();
$criterios_evaluacion = "Cumple";
if ($evaluacion['FinalEvaluation']['calificacion_anexos'] != 'Cumple' || $evaluacion['FinalEvaluation']['calificacion_ubicacion'] != 'Cumple' || $evaluacion['FinalEvaluation']['calificacion_area_util'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_suelos'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_claseV'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_mejoras_santuarias'] != "Cumple") {
    $criterios_evaluacion = "No cumple";
}

//DATOS CALIFICACION ENCUESTA

$calificacion_encuesta = "Cumple"; // aqui

App::Import('Model', 'Poll');
$poll = new Poll();
$poll->recursive = -1;

$encuesta = $poll->find('first', array('conditions' => array('Poll.proyect_id' => $proyecto['Proyect']['id']), 'fields' => array('Poll.verificacion_fase_uno', 'Poll.visto_bueno', 'Poll.calificacion_caracteristicas_biofisicas', 'Poll.calificacion_sociales', 'Poll.calificacion_economicos', 'Poll.calificacion_ambientales',), 'order' => array('Poll.id DESC')));

$calificacion_encuesta = '';

if ($encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == null or $encuesta['Poll']['calificacion_sociales'] == null
        or $encuesta['Poll']['calificacion_economicos'] == null or $encuesta['Poll']['calificacion_ambientales'] == null or
        $encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == '' or $encuesta['Poll']['calificacion_sociales'] == ''
        or $encuesta['Poll']['calificacion_economicos'] == '' or $encuesta['Poll']['calificacion_ambientales'] == ''
) {
    $calificacion_encuesta = 'No cumple';
} else if ($encuesta['Poll']['verificacion_fase_uno'] == null or $encuesta['Poll']['visto_bueno'] == null or
        $encuesta['Poll']['verificacion_fase_uno'] == 'Sin registro' or $encuesta['Poll']['visto_bueno'] == 'Sin registro') {
    $calificacion_encuesta = 'No cumple';
} else if ($encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == 'No cumple' or $encuesta['Poll']['calificacion_sociales'] == 'No cumple'
        or $encuesta['Poll']['calificacion_economicos'] == 'No cumple' or $encuesta['Poll']['calificacion_ambientales'] == 'No cumple' or
        $encuesta['Poll']['verificacion_fase_uno'] == 'No' or $encuesta['Poll']['visto_bueno'] == null
) {
    $calificacion_encuesta = 'No cumple';
} else {
    $calificacion_encuesta = 'Cumple';
}






//SE BUSCA INFORMACIÓN RESPECTO A AVALUOS
//CONCEPTO TECNICO DE AVALUOS

$calificacion_avaluos = "Cumple";
$calificacion_juridica = "Cumple";
$avaluos = array();
foreach ($predios as $predio) {


    $avaluos[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.valor', 'EvaluationAppraisal.area', 'EvaluationAppraisal.calificacion', 'EvaluationAppraisal.concepto');
    $valor = $propietario->Property->find('first', $options);
    $calificacion = "";

    switch ($valor['EvaluationAppraisal']['calificacion']) {
        case 1:
            $calificacion = "Cumple";
            break;
        case 2:
            $calificacion = "Subsanable";
            break;
        case 3:
            $calificacion = "No Cumple";
            break;

        default:
            $calificacion = "Sin registro";
            break;
    }
    if ($valor['EvaluationAppraisal']['calificacion'] != 1) {
        $calificacion_avaluos = "No cumple";
    }
    $avaluos[] = array('uno' => utf8_decode("Área avalúo (ha):"), 'dos' => number_format($valor['EvaluationAppraisal']['area'], 2, ',', '.'));
    $avaluos[] = array('uno' => utf8_decode("Valor avalúo:"), 'dos' => "$" . number_format($valor['EvaluationAppraisal']['valor'], 2, ',', '.'));
    $avaluos[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($calificacion));
    $avaluos[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($valor['EvaluationAppraisal']['concepto']));


    //Se busca la calificacion de los estudios de titulos y del controla de calida a loes mismos

    $titulo = $propietario->Property->TitleStudy->find('first', array('conditions' => array('TitleStudy.property_id' => $predio['Property']['id']), 'fields' => array('TitleStudy.calificacion'), 'order' => array('TitleStudy.id DESC')));
    $control = $propietario->Property->QualityControl->find('first', array('conditions' => array('QualityControl.property_id' => $predio['Property']['id']), 'fields' => array('QualityControl.calificacion'), 'order' => array('QualityControl.id DESC')));


    if ($titulo['TitleStudy']['calificacion'] != "1") {
        $calificacion_juridica = "No cumple";
    }
    if ($control = $propietario->Property->QualityControl->find('first', array('conditions' => array('QualityControl.property_id' => $predio['Property']['id']), 'fields' => array('QualityControl.calificacion'), 'order' => array('QualityControl.id DESC')))) {
        if ($control['QualityControl']['calificacion'] != 4) {
            $calificacion_juridica = "No cumple";
        }
    } else {
        $calificacion_juridica = "No cumple";
    }
}




$viabilidad_integral = "Cumple";

if ($criterios_evaluacion != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos'] != "Cumple" || $calificacion_avaluos != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral'] != "Elegible" || $calificacion_juridica != "Cumple" || $calificacion_encuesta != "Cumple") {
    $viabilidad_integral = "No cumple";
}


//Fin de calificaciòn de viabilidad integral





App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
$pdf = new Cezpdf('LETTER');

generar_carta(' ', "", $pdf, $proyecto['Proyect']['publicado']);


//Se imprime carta de resultado


if ($viabilidad_integral == "No cumple") {
    $pg = $pdf->ezStartPageNumbers(20, 75, 10, 'right', utf8_decode('Página' . "  {PAGENUM} de {TOTALPAGENUM}"), 1);
    $str = "Señor (a):\n";
    $str.=$proponente['Proposer']['nombre'] . "\n";
    $str.= "PROPONENETE DEL PROYECTO " . $proyecto['Proyect']['codigo'] . "\n";
    $str.= "CONVOCATORIA ABIERTA No. INCODER " . $proyecto['Call']['nombre'] . "\n";
    $str.= "Dirección: " . $proponente['Proposer']['direccion'] . "\n";
    $str.= $proponente['City']['name'] . " " . $proponente['Departament']['name'] . "\n";
    $str.= "Teléfonos: " . $proponente['Proposer']['telefono_fijo'] . " " . $proponente['Proposer']['telefono_celular'] . "\n";
    $pdf->ezText(utf8_decode($str), 12, array('justification' => 'left'));

    $str = "<b>Referencia:</b> Comunicación del CONCEPTO DE VIABILIDAD INTEGRAL de la propuesta " . $proyecto['Proyect']['codigo'] . " dentro del marco de la CONVOCATORIA ABIERTA No. INCODER SIT-01-2011, otorgamiento del subsidio integral para la población campesina, personas víctimas del desplazamiento, mujeres víctimas del desplazamiento, negros, indígenas, ROM, profesionales y expertos de las ciencias agropecuarias.\n\n";
    $pdf->ezText(utf8_decode($str), 12, array('justification' => 'full'));
    $str = "Señor(a) Proponente:\n\n";
    $pdf->ezText(utf8_decode($str), 12, array('justification' => 'left'));

    $str = "De conformidad con los parámetros establecidos en la Ley 160 de 1994, en los términos de referencia de la CONVOCATORIA ABIERTA No. INCODER SIT-01-2011, así como las adendas que hacen parte integrante de los términos de referencia, las cuales constituyen las reglas generales del proceso concursal, en aras de garantizar los principios constitucionales y legales de igualdad, transparencia y selección objetiva, de manera atenta me permito informarle que una vez realizado el análisis respecto de su propuesta en cuanto a la elegibilidad del proyecto productivo, así como el análisis jurídico de la documentación de(l)(los) predio(s) que se pretenden adquirir, el concepto emitido es de <b>VIABILIDAD INTEGRAL NEGATIVA</b>, de conformidad con la valoración realizada según los criterios de evaluación establecidos en los términos de referencia, en especial la aplicación de los numerales \"2.3.2.2\", \"2.4.3\", \"2.4.4\" y \"2.5\".\n\n";
    $str.="Teniendo en cuenta que la propuesta no cumple con los términos de referencia de la CONVOCATORIA ABIERTA No. INCODER SIT-01-2011, el Incoder emite concepto de viabilidad integral negativo al proyecto " . $proyecto['Proyect']['codigo'] . " de acuerdo con el INFORME DE VIABILIDAD INTEGRAL que hace parte del presente documento y en el cual se explican las razones de no viabilidad para su proyecto.\n\n";
    $str.="No obstante el concepto dado en el INFORME DE VIABILIDAD INTEGRAL de su proyecto, de conformidad con lo estipulado en el CAPITULO 4 Numeral 4.1. de los términos de referencia de la CONVOCATORIA ABIERTA No. INCODER SIT-01- 2011, dentro de los diez (10) días siguientes al recibo de esta comunicación, pueden ser presentadas reclamaciones respecto del resultado de su propuesta, solicitud que debe elevarse ante el Comité de Reclamaciones del INCODER.  Para ello se cuenta como termino máximo para presentar reclamación al comité, treinta (30) días corrientes contados desde la respectiva publicación que afecte su situación en el proceso de la convocatoria. Por su parte, el Comité de Reclamaciones tendrá treinta (30) días para aceptar o rechazar las reclamaciones que le sean presentadas.Es importante recalcar que vencidos los términos anteriormente establecidos sin haberse presentado reclamación alguna, se procederá a la devolución de la documentación según lo señalado en los términos de referencia de la CONVOCATORIA ABIERTA No. INCODER SIT-01-2011.\n\n";

    $pdf->ezText(utf8_decode($str), 12, array('justification' => 'full'));

    $str = "Cordialmente,\n\n\n\n\n" . $proyecto['Branch']['director']."\n";
    $str .= "Director Territorial " . $proyecto['Branch']['nombre'];
    $pdf->ezText(utf8_decode($str), 12, array('justification' => 'left'));
    $pdf->ezStopPageNumbers(1, 1, $pg);
    $pdf->ezNewPage();
}




$i = $pdf->ezStartPageNumbers(20, 75, 10, 'right', utf8_decode('Página' . "  {PAGENUM} de {TOTALPAGENUM}"), 1);

$str = "<b>CONVOCATORIA " . $proyecto['Call']['nombre'] . " INCODER - TIERRAS";
$str.= "\nINFORME DE VIABILIDAD INTEGRAL</b>";
$pdf->ezText(utf8_decode($str), 12, array('justification' => 'center'));
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));


$data = array();
$data[] = array('uno' => utf8_decode("Código: "), 'dos' => utf8_decode($proyecto['Proyect']['codigo']));
//$data[] = array('uno' => utf8_decode("Evaluador: "), 'dos' => utf8_decode($evaluacion['User']['nombre'] . " " . $evaluacion['User']['primer_apellido'] . " " . $evaluacion['User']['segundo_apellido']));
$data[] = array('uno' => utf8_decode("Nombre del proyecto: "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['nombre_proyecto']));
$data[] = array('uno' => utf8_decode("Departamento: "), 'dos' => utf8_decode($proyecto['Departament']['name']));
$pdf->ezTable(
        $data, null, "DATOS GENERALES DEL PROYECTO", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Nombre del proponente "), 'dos' => utf8_decode($proponente['Proposer']['nombre']));
$data[] = array('uno' => utf8_decode("Identificación"), 'dos' => utf8_decode($proponente['Proposer']['numero_identificacion']));
$data[] = array('uno' => utf8_decode("Departamento:"), 'dos' => utf8_decode($proponente['Departament']['name']));
$data[] = array('uno' => utf8_decode("Municipio:"), 'dos' => utf8_decode($proponente['City']['name']));
if ($proponente['Proposer']['proposer_type'] == 2) {
    $data[] = array('uno' => utf8_decode("Nombre del representante legal:"), 'dos' => utf8_decode($proponente['Proposer']['rep_nombres'] . " " . $proponente['Proposer']['rep_apellidos']));
    $data[] = array('uno' => utf8_decode("Documento representente legal:"), 'dos' => utf8_decode("C.C " . $proponente['Proposer']['rep_cedula']));
}
$data[] = array('uno' => utf8_decode("Teléfono fijo:"), 'dos' => utf8_decode($proponente['Proposer']['telefono_fijo']));
$data[] = array('uno' => utf8_decode("Teléfono celular"), 'dos' => utf8_decode($proponente['Proposer']['telefono_celular']));
$data[] = array('uno' => utf8_decode("Fax"), 'dos' => utf8_decode($proponente['Proposer']['fax']));
$data[] = array('uno' => utf8_decode("Email"), 'dos' => utf8_decode($proponente['Proposer']['email']));


$pdf->ezTable(
        $data, null, "DATOS DEL PROPONENTE", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);
// DATOS DE LOS BENEFICIARIOS


$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Familias totales:"), 'dos' => utf8_decode($principales + $suplentes));
$data[] = array('uno' => utf8_decode("Familias principales:"), 'dos' => utf8_decode($principales));
$data[] = array('uno' => utf8_decode("Familias suplentes:"), 'dos' => utf8_decode($suplentes));
$data[] = array('uno' => utf8_decode("Familias habilitadas:"), 'dos' => utf8_decode($habilitadas));
$data[] = array('uno' => utf8_decode("Familias beneficiarias:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['familias_habilitadas']));


$pdf->ezTable(
        $data, null, "DATOS DE LOS BENEFICIARIOS", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);








//Predios

$flag = 0;


foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $data = array();
    $data[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));
    $data[] = array('uno' => utf8_decode("Departamento:"), 'dos' => utf8_decode($predio['Departament']['name']));
    $data[] = array('uno' => utf8_decode("Municipio:"), 'dos' => utf8_decode($predio['City']['name']));
    $data[] = array('uno' => utf8_decode("Matrícula:"), 'dos' => utf8_decode($predio['Property']['matricula']));
    $data[] = array('uno' => utf8_decode("Área de títulos (ha):"), 'dos' => number_format($predio['Property']['area_titulo'], 2, ',', '.'));

    //PLANO TOPOGRAFICO
    $propietario->Property->recursive = -1;
    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'topographic_maps',
            'type' => 'left',
            'alias' => 'TopographicMap',
            'conditions' => array('TopographicMap.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('TopographicMap.id=FinalEvaluationAnnexes.topographic_map_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('TopographicMap.area');
    $area = $propietario->Property->find('first', $options);
    //Se busca el valor del avaluo relacionado con la evaluacion final

    $data[] = array('uno' => utf8_decode("Área del plano topográfico (ha):"), 'dos' => number_format($area['TopographicMap']['area'], 2, ',', '.'));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.valor', 'EvaluationAppraisal.area');


    $valor = $propietario->Property->find('first', $options);
    $data[] = array('uno' => utf8_decode("Área avalúo (ha):"), 'dos' => number_format($valor['EvaluationAppraisal']['area'], 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Valor avalúo:"), 'dos' => "$" . number_format($valor['EvaluationAppraisal']['valor'], 2, ',', '.'));



    $propietario->recursive = -1;
    $propietarios = $propietario->find('all', array('conditions' => array('Owner.property_id' => $predio['Property']['id'])));
    $nombres = "";
    foreach ($propietarios as $prop) {
        $nombres.= $prop['Owner']['nombres'] . " " . $prop['Owner']['primer_apellido'] . " " . $prop['Owner']['segundo_apellido'] . " C.C " . $prop['Owner']['documento'] . "\n";
    }
    $data[] = array('uno' => utf8_decode("Propietario(s)"), 'dos' => utf8_decode($nombres));

    $tx = "";
    if ($flag == 0) {
        $tx = "DATOS DEL(OS)  PREDIOS(S)";
        $flag = 1;
    }
    $pdf->ezTable(
            $data, null, $tx, array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}
//LINEA PRODUCTIVA
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Linea productiva: "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['tipo_proyecto']));


$pdf->ezTable(
        $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);


if ($viabilidad_integral == "Cumple") {
    //INFORMACION FIANACIERA

    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $total_predios = $evaluacion['FinalEvaluation']['subsidio_predios_real'] + $contapartidas_certificadas_predio + $contapartidas_otra_predio;
    $total_proyecto = $evaluacion['FinalEvaluation']['subsidio_proyecto_real'] + $contapartidas_certificadas_proyecto + $contapartidas_otra_proyecto;
    $porcentaje_predios = 0;
    $porcentaje_proyectos = 0;
    if (($total_predios + $total_proyecto) != 0) {
        $porcentaje_predios = $total_predios * 100 / ($total_predios + $total_proyecto);
        $porcentaje_proyectos = $total_proyecto * 100 / ($total_predios + $total_proyecto);
    }

    $data = array();
    $data[] = array('uno' => utf8_decode("ITEM"), 'dos' => 'SUBSIDIO INCODER', 'tres' => 'CONTRAPARTIDA CERTIFICADA', 'cuatro' => 'OTRAS CONTRAPARTIDAS', 'cinco' => 'VALOR TOTAL', 'seis' => '%');
    $data[] = array('uno' => utf8_decode("Predio(s)"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_predios_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_predio, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_predio, 2, ',', '.'), 'cinco' => "$ " . number_format($total_predios, 2, ',', '.'), 'seis' => number_format($porcentaje_predios, 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Proyecto"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_proyecto_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_proyecto, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_proyecto, 2, ',', '.'), 'cinco' => "$ " . number_format($total_proyecto, 2, ',', '.'), 'seis' => number_format($porcentaje_proyectos, 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Total"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_proyecto_real'] + $evaluacion['FinalEvaluation']['subsidio_predios_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_proyecto + $contapartidas_certificadas_predio, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_predio + $contapartidas_otra_proyecto, 2, ',', '.'), 'cinco' => "$ " . number_format($total_proyecto + $total_predios, 2, ',', '.'), 'seis' => '100,00');


    $pdf->ezTable(
            $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}


//Concepto tecnico de evaluacion.
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'full'));
$data = array();
$data[] = array('uno' => utf8_decode("CRITERIO"), 'dos' => utf8_decode("CALIFICACIÓN"), 'tres' => utf8_decode("OBSERVACIÓN"));
$data[] = array('uno' => utf8_decode("Que presente la totalidad de los anexos del Formulario N° 8 (proyecto productivo) requisito mínimo conforme a lo establecido en  los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_anexos']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_anexos']));
$data[] = array('uno' => utf8_decode("Que el predio se encuentre ubicado por debajo de los 3.000 m.s.n.m.,  que esté acorde con el Plan de Ordenamiento Municipal  y no se encuentre en áreas de manejo especial (Revisar formulario N° 6 y 7) numeral 2.3.2.2 ubicación. de los términos de referencia"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_ubicacion']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_ubicacion']));
$data[] = array('uno' => utf8_decode("Que la superficie agropecuaria  utilizable del predio no sea inferior al 80% del total del área, tal como lo establece el numeral 2.3.2.4 superficie agropecuaria utilizable de los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_area_util']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_area_util']));
$data[] = array('uno' => utf8_decode("Que el predio tenga la calidad mínima de los suelos y del 100% del área no exceda en más del 20% en clases agrológicas  VII y VIII no fértiles, tal como se establece en el numeral 2.3.2.6 clases agrológicas y topografía de los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_suelos']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_suelos']));
$data[] = array('uno' => utf8_decode("Que el predio tenga la calidad mínima de los suelos y no exceda en más del 10% la clase agrológica V, tal como se establece en el numeral 2.3.2.6 clases agrológicas y topografía de los términos de referencia y demás contemplados en el mismo documento."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_claseV']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_claseV']));
$data[] = array('uno' => utf8_decode("No serán considerados los inmuebles en los que el valor de las mejoras no útiles, improductivas y suntuarias supere el (10%) del precio total de la venta. Son mejoras suntuarias las definidas en el inciso 2 del artículo 967del código civil, e improductivas las que no tienen vinculación directa en el proceso productivo que se adelante o proyecte realizar en el predio."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_mejoras_santuarias']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_mejoras_santuarias']));


$pdf->ezTable(
        $data, null, utf8_decode("REQUISITOS MÍNIMOS"), array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => '130'), 'dos' => array('justification' => 'full', 'width' => '70'), 'tres' => array('justification' => 'full', 'width' => '300'))
        )
);
if ($viabilidad_integral == "Cumple") {
    //Concepto tecnico de evaluacion.
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $data = array();
    $data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS PRODUCTIVOS: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos']));
    $data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_productivos']));
    $pdf->ezTable(
            $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
        'fontSize' => 9,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
            )
    );


    $data = array();

    $data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS SOCIALES: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales']));
    $data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_sociales']));
    $pdf->ezTable(
            $data, null, "", array(
        'fontSize' => 9,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
            )
    );
    $data = array();
    $data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS FINANCIEROS: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros']));
    $data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_financieros']));
    $pdf->ezTable(
            $data, null, "", array(
        'fontSize' => 9,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
            )
    );
    $data = array();
    $data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS AMBIENTALES: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales']));
    $data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_ambientales']));


    $pdf->ezTable(
            $data, null, "", array(
        'fontSize' => 9,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
            )
    );
}


///Estudio de titulos

$flag1 = 0;
$calidad = "";
$calificacion = "";
foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $data = array();
    $propietario->Property->TitleStudy->recursive = -1;
    $titulo = $propietario->Property->TitleStudy->find('first', array('conditions' => array('TitleStudy.property_id' => $predio['Property']['id']), 'fields' => array('TitleStudy.calificacion', 'TitleStudy.concepto', 'TitleStudy.id'), 'order' => array('TitleStudy.id DESC')));
    $control = $propietario->Property->QualityControl->find('first', array('conditions' => array('QualityControl.property_id' => $predio['Property']['id']), 'fields' => array('QualityControl.observaciones', 'QualityControl.calificacion'), 'order' => array('QualityControl.id DESC')));

    $tx = "";
    if ($flag1 == 0) {
        $tx = utf8_decode("ESTUDIO DE TÍTULOS");
        $flag1 = 1;
        //$pdf->ezText(utf8_decode($tx), 12, array('justification' => 'center'));
    }
    $calificacion = "";
    switch ($titulo['TitleStudy']['calificacion']) {
        case 1:
            $calificacion = "Cumple";
            break;
        case 2:
            $calificacion = "No Cumple";
            break;
        case 3:
            $calificacion = "Subsanable";
            break;
        default:
            $calificacion = "Sin registro";
            break;
    }
    $calidad = "";
    switch ($control['QualityControl']['calificacion']) {
        case 1:
            $calidad = "Pendiente";
            break;
        case 2:
            $calidad = "Requiere documento";
            break;
        case 3:
            $calidad = "No cumple";
            break;
        case 4:
            $calidad = "Cumple";
            break;
        default:
            $calidad = "Sin registro";
            break;
    }


    $data[] = array('uno' => utf8_decode("Código:"), 'dos' => utf8_decode($predio['Property']['codigo']));
    $data[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($calificacion));
    $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($titulo['TitleStudy']['concepto']));
    $data[] = array('uno' => utf8_decode("Calificación Control de calidad: "), 'dos' => utf8_decode($calidad));
    $data[] = array('uno' => utf8_decode("Observaciones: "), 'dos' => utf8_decode($control['QualityControl']['observaciones']));

    $pdf->ezTable(
            $data, null, $tx, array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}





///Condicionamientos de tipo juridico
$data = array();
foreach ($juridicos as $juridico) {


    $data[] = array('uno' => utf8_decode("Condicionamiento:"), 'dos' => utf8_decode($juridico['Constraint']['nombre']));
    $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($juridico['EvaluationConstraint']['descripcion']));
}
if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $data, null, utf8_decode("CONDICIONAMIENTOS JURÍDICOS"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}







if ($viabilidad_integral == "Cumple") {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $avaluos, null, utf8_decode("CONCEPTO TÉCNICO SOBRE  EL (LOS) AVALÚO(S)"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );

    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));



    $data = array();
    $data[] = array('uno' => utf8_decode("Calificación "), 'dos' => $evaluacion['FinalEvaluation']['calificacion_suelos']);
    $data[] = array('uno' => utf8_decode("Concepto "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['concepto_suelos']));
    $pdf->ezTable(
            $data, null, utf8_decode("CONCEPTO TÉCNICO SOBRE  EL (LOS) SUELO(S)"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}
//CONCEPTO UNIDADES FISIOGRAFICAS
$data = array();
foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));

    $data[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));
    $data[] = array('uno' => utf8_decode("Clase agrológica:"), 'dos' => utf8_decode("Área (ha)"));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.id');
    $valor = $propietario->Property->find('first', $options);

    if (!empty($valor['EvaluationAppraisal']['id'])) {
        $unidades = $propietario->query("SELECT Unidad.clase_agrologica, SUM( area ) as suma FROM  `evaluation_physiographic_units` Unidad WHERE Unidad.evaluation_appraisal_id =" . $valor['EvaluationAppraisal']['id'] . " GROUP BY clase_agrologica");
        foreach ($unidades as $unidad) {

            $data[] = array('uno' => $unidad['Unidad']['clase_agrologica'], 'dos' => number_format($unidad[0]['suma'], 2, ',', '.'));
        }
    }
}


$pdf->ezTable(
        $data, null, utf8_decode("RESUMEN CLASES AGROLÓGICAS"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);

//condicionamientos no juridicos 
///Condicionamientos de tipo juridico
if ($viabilidad_integral == "Cumple") {
    $data = array();
    foreach ($condicionamientos as $condicionamiento) {


        $data[] = array('uno' => utf8_decode("Condicionamiento:"), 'dos' => utf8_decode($condicionamiento['Constraint']['nombre']));
        $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($condicionamiento['EvaluationConstraint']['descripcion']));
    }
    if (!empty($data)) {
        $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
        $pdf->ezTable(
                $data, null, utf8_decode("CONDICIONAMIENTOS"), array(
            'fontSize' => 10,
            'titleFontSize' => 10,
            'maxWidth' => 500,
            'minWidth' => 500,
            'protectRows' => 20,
            'showHeadings' => 0,
            'showLines' => 2,
            'shaded' => 0,
            'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
                )
        );
    }
}

//CONCEPTO ELEGIBILIDAD INTEGRAL
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral']));
$data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['concepto_elegibilidad_integral']));

$pdf->ezTable(
        $data, null, utf8_decode("CALIFICACIÓN VIABILIDAD INTEGRAL"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);





//Se imprime cocepto integral

$data = array();
$integral = "";
$integral.="Criterios de verificación: " . $criterios_evaluacion . "\n";
$integral.="Aspecto Técnico-Productivo: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos'] . "\n";
$integral.="Avaluo: " . $calificacion_avaluos . "\n";
$integral.="Aspecto Social: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales'] . "\n";
$integral.="Aspecto Financiero: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros'] . "\n";
$integral.="Aspecto Ambiental: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales'] . "\n";
$integral.="Elegibilidad integral: " . $evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral'] . "\n";


$data[] = array('uno' => utf8_decode("Calificación viabilidad integral"), 'dos' => utf8_decode($viabilidad_integral));
$data[] = array('uno' => utf8_decode("Fase I :"), 'dos' => utf8_decode("Juridico: " . $calificacion_juridica));
$data[] = array('uno' => utf8_decode("Fase II A :"), 'dos' => utf8_decode($calificacion_encuesta));
$data[] = array('uno' => utf8_decode("Fase II B :"), 'dos' => utf8_decode($integral));

if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $data, null, utf8_decode("CONCEPTO DE VIABILIDAD INTEGRAL"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}






$pdf->ezStopPageNumbers(1, 1, $i);





$pdf->ezStream();
?>

<?php

function generar_carta($cod, $str, &$pdf, $publicado) {
    $start = true;
    $m_left = 2.5;
    $m_right = 2.5;
    App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
    if ($pdf == NULL) {
        $pdf = new Cezpdf('LETTER');
    }
    if ($start) {
        $tmp = array(
            'b' => 'Trebuchet-Bold.afm'
            , 'i' => 'Trebuchet-Italic.afm'
            , 'bi' => 'Trebuchet-BoldItalic.afm'
            , 'ib' => 'Trebuchet-BoldItalic.afm'
            , 'bb' => 'Trebuchet-Bold.afm'
        );
        $pdf->setFontFamily('Trebuchet.afm', $tmp);
        $pdf->selectFont('fonts/Trebuchet.afm');

        $all = $pdf->openObject();
        $pdf->saveState();
        if ($publicado == 1) {
            $pdf->addJpegFromFile('img/cabecera.jpg', 60, 670, 500);
        } else {
            $pdf->ezText(utf8_decode("\nPROYECTO NO PUBLICADO CONCEPTO PROVISIONAL"), 16, array('justification' => 'center'));
        }
        $pdf->addJpegFromFile('img/pie.jpg', 0, 10, 610, 60);
        $pdf->restoreState();
        $pdf->closeObject();
        $pdf->addObject($all, 'all');
        $pdf->transaction('start');
    }

    $pdf->ezSetCmMargins(4.5, 4.5, $m_left, $m_right);

    $textOptions = array('justification' => 'full');
    $data = explode("\n", $str);
    $collecting = 0;
    foreach ($data as $d) {
        chop($d);
        if (strlen($d) && $d[0] == '#') {
            // comment, or new page request
            switch ($d) {
                case '#NP':
                    $pdf->ezNewPage();
                    break;
            }
        } else {
            $pdf->ezText($d, 8, $textOptions);
        }
    }
}
?>
